\documentclass[12pt, a4paper,UTF8]{ctexart}
\usepackage[top = 1.0in, bottom = 1.0in, left = 1.0in, right = 1.0in]{geometry}
\usepackage{indentfirst}
\usepackage{hyperref}

\setlength{\parskip}{0.5\baselineskip}
\setlength{\parindent}{2em}

\title{文档} % @TODO: 改个名字
\author{（逻辑版本x.x，更新于x年x月x日）\\（文档版本x.x.x，更新于x年x月x日）}
\date{}

\begin{document}

	\sloppypar

	\maketitle

	\tableofcontents

\newpage
\section{本文档更新日志}

% 本文档首次发布和之后做任何更改时，要体现在这里

\section{逻辑更新日志}

% 逻辑做任何更改时，要体现在这里

\newpage
\section{概述}
% 这一部分主要在于“定性”而不是“定量”，只是给一个大致的理解

		在本文档中，所有这种（\texttt{LikeThis}）字体的文字，表示一个文件名，或表示你能在SDK中找到并使用的一个关键字。如果它是一个数值，你可以在\texttt{const.h}中找到它的值（在没有其他说明的情况下）。

	\subsection{地图、游戏目标}

		游戏在一个正方形的网格地图上进行，地图的大小为$20 \times 20$（\texttt{MAP\_SIZE}）。地图的每个格子是空地或障碍物，其定义见\texttt{MAP}。

		游戏双方将各控制若干机器人进行生产与对战。玩家只能在空地上建造机器人。初始时，双方在地图的两个接近对角的位置（）各拥有一个机器人。
		% @TODO: const.h里加入初始位置

		如果某个玩家消灭了对方所有的机器人，则该玩家获得胜利。如果1000回合（\texttt{MAX\_ROUND}）后没有分出胜负，则系统将会根据局面信息计算出优势方，判定其获胜。（具体方法之后会介绍）

	\subsection{能量与采集}

		每个机器人具有一个能量值，双方的初始机器人各具有10000的能量值（\texttt{baseEnergy}）。能量可以通过采集获得，用于自然消耗与施放技能等的消耗。

		地图中每个格子具有一个能量系数（\texttt{ENERGY}），每个机器人每回合会自动采集身边不超过$\sqrt{4}$距离（\texttt{GatherRange}）的能量，在每个格子的采集量等于机器人的采集力与格子的能量系数的乘积。

		然而，如果一个格子同时在多个机器人的采集范围内，则只有离格子最近的机器人之一会参与采集。

	\subsection{分裂、进退化}

		每个玩家除了初始的机器人以外，还可以通过分裂（或其他方法，见后述）创造新的机器人。

		每个机器人有一个等级，初始时为0。每个机器人每回合都会消耗一定量的能量，这个消耗量和机器人的各项战斗能力（生命值、攻击力等）均与等级成指数增长关系。具体计算方式见\texttt{stats.cpp}。

		如果某个机器人的能量不足其自动消耗量，则会本回合不会消耗能量，但会扣减$3\%$（\texttt{WitherHPRate}）的能量。
		

		机器人可以消耗一定的能量进行进化，使自己的等级提升；或选择降低自己的等级，并获得一部分返还的能量。返还的能量为当初进化所消耗的能量的50\%（\texttt{VestigialLost}）。

	\subsection{机器人类型与技能}

		机器人分为攻击型、防御型、采集型机器人和无类型机器人。每个机器人初始时无类型。

		当机器人进化时，如果原来没有类型，玩家可以选择将其类型变为任意一种类型；如果已经是某个类型则不能改变。
		% @TODO:必须选择还是可以选择？

		当机器人退化时，即使机器人已经有了类型，玩家也可以将其转换为另一种类型。
		% @TODO:退化到0级是否可以选择为有类型的？

		游戏共有十多种技能，包括公共技能、攻击型技能、防御型技能、采集型技能。所有机器人都可以使用公共技能，但是其他技能只有该类型的机器人才能使用。

		公共技能包括：普通攻击、分裂、进化、退化、建立连接、传输、删除连接。

		攻击型技能包括：天灾、轰炸。

		防御型技能包括：庇护、再生。

		采集型技能包括：过载、空投。

\newpage
\section{单位属性}

\section{游戏流程}

	\subsection{回合结算流程}

	\subsection{胜负判定}

\newpage
\section{公共技能}

	\subsection{普通攻击}

	\subsection{分裂}

	\subsection{进化}

	\subsection{退化}

	\subsection{建立连接}

	\subsection{传输}

	\subsection{删除连接}

\newpage
\section{攻击型技能}

	\subsection{天灾}

	\subsection{轰炸}

\section{防御型技能}

	\subsection{庇护}

	\subsection{再生}

\section{采集型技能}

	\subsection{过载}

	\subsection{空投}

\newpage
\section{如何编写AI}

\end{document}
